package com.iwhalecloud.bss.kite.cucc.client.api.scene.operate;

import com.iwhalecloud.bss.kite.client.dto.DataResult;
import com.iwhalecloud.bss.kite.client.vo.scene.unpack.DeleteVo;
import com.iwhalecloud.bss.kite.manager.inst.KiteOfferInst;

public interface ICuccOperateSceneOfferInstService {

    /**
     * 新增一个附加销售品实例
     *
     * @param sceneInstId
     * @param parOfferInstId
     * @param offerId
     * @param custId
     * @param staffId
     * @param roleId
     * @return
     */
    DataResult<KiteOfferInst> addMemOfferInst(String sceneInstId, String parOfferInstId, String offerId, String roleId, String custId, String staffId);

    /***
     * 退订主套餐
     *
     * @param sceneInstId 场景实例ID
     * @param mainOfferInstId 主套餐实例ID
     * @param custId 客户标识
     * @param staffId 员工Id
     * @return
     */
    DataResult<Boolean> removeMemOfferInst(String sceneInstId, String mainOfferInstId, String custId, String staffId);

    /**
     * 产品拆机和销售品解体操作
     * @param sceneInstId
     * @param custId
     * @param compInstId
     * @param offerType
     * @return
     */
    DataResult<DeleteVo> removeMemOffer(String sceneInstId, String custId, String compInstId, String offerType);
}
